/*
 * Serializable.h
 *
 *  Created on: 31/01/2010
 *      Author: San Martín, Matías I.
 */

#ifndef SERIALIZABLE_H_
#define SERIALIZABLE_H_

#ifndef size_t
#include <cstring>
#endif

namespace framework {
namespace io {

/**
 * Define la interfaz base que deben implementar todas las interfaces serializables
 */
class Serializable {

//------------------------------ CONSTANTES ------------------------------
public:
//------------------------------ ATRIBUTOS ------------------------------
private:
	/** Tamaño en Bytes necesarios para guardar el mensaje serializado */
	size_t _tamanio;
//------------------------------ METODOS ------------------------------
public:

	size_t getTamanio() const
	{
		return _tamanio;
	}

protected:

	void setTamanio(size_t tamanio)
	{
		_tamanio = tamanio;
	}
};

}// namespace framework
}// namespace io

#endif /* SERIALIZABLE_H_ */
